Added aqua_speed for rite geo 50 tryker
[ryzomcore.git] / nel / tools / 3d / build_gamedata / Howto export.txt
bloba291eca7190aefe2ddfa6bd30fa0f5eb9c4e4fd7
1 <<< HOWTO export data for the client >>>
3 -----------------------------------------------------------------------------------------------------
5 SUMMARY
7 INSTALL
9 DIRECTORIES
11 EXPORT USER GUIDE
13 * EXPORT DATA FOR THE LOCAL CLIENT
14 * EXPORT DATA IN THE GAMEDATA DIRECTORY
15 * EXPORT DSS FILES FROM PHOTOSHOP
16 * EXPORT A MESH
17 * EXPORT A PARTICLE SYSTEM
18 * EXPORT A SKELETON
19 * EXPORT A SKELETON TEMPLATE WEIGHT
20 * EXPORT AN ANIMATION
21 * EXPORT AN INSTANCE GROUP
22 * EXPORT A ZONE
23 * EXPORT A SMALLBANK
24 * EXPORT A FARBANK
25 * EXPORT MESH TEXTURES
26 * EXPORT LANDSCAPE TEXTURES
28 TECHNICAL NOTES ABOUT AUTOMATIC DATA PROCESS
30 * DATA PROCESS
32 -----------------------------------------------------------------------------------------------------
36 -----------------------------------------------------------------------------------------------------
38 INSTALL
40 To export and build the gamedata, you will need to install the project build_gamedata.
41 You will need cygwin installed. The path must be configurated with cygwin path
42 before any other directory, include winnt root pathes.
44 -----------------------------------------------------------------------------------------------------
48 -----------------------------------------------------------------------------------------------------
50 DIRECTORIES
52 There is 4 main directories:
54 database/ is the root directory of the 3d database
55 gamedata/ is the root directory of the current gamadata folder
56 client/ is the root directory of the client
57 build_gamedata/ is the root directory of the build data system
59 -----------------------------------------------------------------------------------------------------
63 -----------------------------------------------------------------------------------------------------
65 **** EXPORT USER GUIDE ****
67 -----------------------------------------------------------------------------------------------------
69 * EXPORT DATA FOR THE LOCAL CLIENT
71 The data for your local client are stored in the client/data directory.
72 You can manually export here your data to test it with your client.
74 -----------------------------------------------------------------------------------------------------
76 * EXPORT DATA IN THE GAMEDATA DIRECTORY
78 You musn't export directly your data for the gamedata folder.
79 An automatic process will update your modification directly from the graphic database (w:\) 
80 and add them to the new gamedata folder.
82 -----------------------------------------------------------------------------------------------------
84 * EXPORT DSS FILES FROM PHOTOSHOP
86 Install the photoshop DDS plugin. (\\Server\code\tools\plugins photoshop)
87 Load your TGA file. Save as *.DDS. Then come a big dialog box with a lot of options.
88 In the left part of the dialog box select the format you want (DXT1 or DXT5).
89 Select "Generate MIP maps".
90 Select NO OTHER OPTION.
91 Save.
93 -----------------------------------------------------------------------------------------------------
95 * EXPORT MESH TEXTURES
97 Manual process:
98 ---------------
100 Load your TGA texture in photoshop. 
101 If your texture has no alpha channel, only rgb, export a DXT1 DDS file.
102 If your texture has an alpha channel, export a DXT5 DDS file.
103 The maps directory for the client is client/data/maps.
104 The name of the dds texture file is the same than the tga texture with the .dss extension.
106 See * EXPORT DSS FILES FROM PHOTOSHOP
108 Automatic process:
109 ------------------
111 Clean:
112 The clean process will delete 
113 build_gamedata/processes/map/dds/*.*
114 build_gamedata/processes/map/tga/*.*
116 Export: 
117 The export process will copy each tga texture placed in the folders 
118 database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/skeletons/
119 database/Stuff/<race>/Decors/_textures
120 The textures are copied in build_gamedata/processes/map/tga/.
121 If, in the database, a dds texture is placed side by side a tga texture with the same name, the dds
122 texture will be copied too in build_gamedata/processes/map/tga/.
124 Build:
125 The build process take each exported tga texture and convert them in dds.
126 If they have alpha channel, they will be converted in DXT5, else in DXTC1.
127 If a dds texture is available for a tga, the converter will use the file format in the dds file
128 to create the builded dds texture.
129 Builded dds are storder in build_gamedata/processes/map/dds/.
131 Install:
132 The install process will copy build_gamedata/processes/map/dds/*.dds in client/data/maps
134 -----------------------------------------------------------------------------------------------------
136 * EXPORT LANDSCAPE TEXTURES
138 Manual process:
139 ---------------
141 Textures on the landscape are 24 bits TGA files.
142 They can be 128x128 or 256x256.
143 In the client, you have to export the texture for diffuse, additive and transition in DXT5 format 
144 using the photoshop plugin. 
145 The displacement textures (noise textures) must be exported in TGA.
146 The interface textures (GUI) must be exported in TGA.
147 The landscape texture are stored in the directories client/data/tiles.
149 See * EXPORT DSS FILES FROM PHOTOSHOP
152 Automatic process:
153 ------------------
155 Clean:
156 Clean will delete files in 
157 build_gamedata/processes/tiles/maps_final
158 build_gamedata/processes/tiles/maps_tga
159 build_gamedata/processes/displace/tga
160 build_gamedata/processes/interface/tga
162 Export:
163 Export will copy all the TGA files stored in the directory database/landscape/_texture_Tiles and in its sub directories
164 into build_gamedata/processes/tiles/maps_tga
165 It copies tga texture from database/landscape/_texture_Tiles/displace in build_gamedata/processes/displace/tga
166 It copies tga texture from database/interface in build_gamedata/processes/interface/tga
168 Build:
169 The build process will convert the tga texture in build_gamedata/processes/tiles/maps_tga in DXT5 dds file.
170 DDS textures will be stored in the directory build_gamedata/processes/tiles/maps_dds.
172 Install:
173 The install process will copy the dds texture from build_gamedata/processes/tiles/maps_dds into client/data/tiles.
174 The install process will copy the tga texture from build_gamedata/processes/displace/tga into client/data/tiles.
175 The install process will copy the tga texture from build_gamedata/processes/interface/tga into client/data/tiles.
177 -----------------------------------------------------------------------------------------------------
179 * EXPORT A MESH
181 Manual process:
182 ---------------
184 -If your mesh as NO coarse lod (croisillons) and NO lightmap :
186         In max, load your mesh project. Select the mesh you want to export.
187         Export it with the "NeL export" utility plugin, button "export model".
188         The file extension must be a "*.shape".
189         The name of the .shape file is the name of the max mesh.
190         Save directly this .shape file in the client directory (client/data/shapes).
192 -If your mesh as a coarse lod : 
194         In max, load your mesh project. Select the main mesh you want to export. Don't select the lods.
195         Export it with the "NeL export" utility plugin, button "export model".
196         The file extension must be a "*.shape".
197         The name of the .shape file is the name of the max mesh.
198         Save this .shape file in the build data shape directory for coase meshes (build_gamedata/processes/shape/shape_with_coarse_mesh).
199         Be sure to have all the other meshes with coarse lod in the directory build_gamedata/processes/shape/shape_with_coarse_mesh.
200         (You can get it on the build_data computer).
201         Execute the coarse mesh build command (build_gamedata/processes/shape/3_build.bat).
202         Run the mesh install build_gamedata/processes/shape/4_install.bat. (Copy the shape and the texture in the client data).
204 -If your mesh as lightmaps : 
206         In max, load your mesh project. Use the city_export.ms script to export manualy mesh with lightmaps.
207         The file extension must be a "*.shape".
208         The name of the .shape file is the name of the max mesh.
209         Be sure to export your meshes in the build_gamedata/processes/shape/shape directory.
210         Be sure the lightmaps are exported in the directory build_gamedata/processes/shape/lightmap.
211         Execute the lightmap build command (build_gamedata/processes/shape/3_build.bat).
212         Run the mesh install build_gamedata/processes/shape/4_install.bat. (Copy the shape and the lightmaps in the client data).
214 Automatic process:
215 ------------------
217 Clean:
218 The clean process will delete 
219         build_gamedata/processes/shape/shape/*.*,
220         build_gamedata/processes/shape/shape_with_coarse_mesh/*.*,
221         build_gamedata/processes/shape/shape_with_coarse_mesh_builded/*.*,
222         build_gamedata/processes/shape/lightmap/*.*,
223         build_gamedata/processes/shape/lightmap_16_bits/*.* files
225 Export: 
226 The export process will open each max projects placed in the folders
227         stuff/<race>/agents/actors/<sexe/bot/vehicules/monsters>
228         stuff/<race>/agents/accessories
229         stuff/<race>/decors/vegetations
230         stuff/<race>/decors/constructions
231         landscape/eau
232 It will select each ROOT object (not children) that are geometry, not named "Bip01", not particule system, not flaged "Don't export" and not 
233 Accelerator (not portal / not cluster). The extension of the file is "*.shape". The name of the file is the name of the mesh in max.
234 If the object have coarse meshes, it will be exported in the folder build_gamedata/processes/shape/shape_with_coarse_mesh/.
235 else it will be exported in the folder build_gamedata/processes/shape/shape/.
236 If the object have lightmaps, lightmaps will be exported in the folder build_gamedata/processes/shape/lightmap/.
237 The name of the lightmap is the name of the object followed by a number of one digit.
238 The extension of the lightmap is .tga.
240 Build:
241 The build process will first convert the lightmaps in 16 bits tga files.
242 Those computed lightmaps will be builded in folder build_gamedata/processes/shape/lightmap_16_bits.
243 Then, the build process will compute the coarses mesh and there big texture.
244 The final coarses meshes are builded in folder build_gamedata/processes/shape/shape_with_coarse_mesh_builded.
245 The final coarses meshes name is the same than the exported name.
246 The coarses meshes texture is builded in folder build_gamedata/processes/shape/shape_with_coarse_mesh_builded/nel_coarse_texture.dds.
248 Install:
249 The install process will copy 
250 build_gamedata/processes/shape/shape/*.* in client/data/shapes
251 build_gamedata/processes/shape/shape_with_coarse_mesh_builded/*.shape in client/data/shapes
252 build_gamedata/processes/shape/shape_with_coarse_mesh_builded/nel_coarse_texture.dds in client/data/maps
253 build_gamedata/processes/shape/lightmap_16_bits/*.* in client/data/lightmaps
255 -----------------------------------------------------------------------------------------------------
257 * EXPORT A PARTICLE SYSTEM
259 Manual process:
260 ---------------
262 Directly copy your ps file in the client directory client/data/ps.
264 Automatic process:
265 ------------------
267 Clean:
268 Clean will delete build_gamedata/processes/ps/ps/*.* file.
270 Export:
271 Copy the file from database/sfx in build_gamedata/processes/ps/ps.
273 Build:
274 Does nothing.
276 Install:
277 Copy the file from build_gamedata/processes/ps/ps in client/data/ps.
279 -----------------------------------------------------------------------------------------------------
281 * EXPORT A SKELETON
283 Manual process:
284 ---------------
286 In max, load your skeleton project with a skeleton in figure mode. Select the root of the skeleton.
287 Export it with the "NeL export" utility plugin, button "export skeleton".
288 The file extension must be a "*.skel".
289 The skeleton directory for the client is client/data/animations/skeletons.
290 The name of the skel file is the name of the max project.
292 Automatic process:
293 ------------------
295 Clean:
296 The clean process will delete build_gamedata/processes/skel/skel/*.*
298 Export: 
299 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/skeletons/.
300 It will select "Bip01" in the project an export the skel. The root of the skeleton must have been named "Bip01".
301 The skel files are exported in the build folder build_gamedata/processes/skel/skel/.
302 The name of the skel files are the name of the max projects.
304 Build:
305 Does nothing
307 Install:
308 The install process will copy build_gamedata/processes/skel/skel/*.* in client/data/animations/skeletons
310 -----------------------------------------------------------------------------------------------------
312 * EXPORT A SKELETON TEMPLATE WEIGHT
314 Manual process:
315 ---------------
317 In max, load your skeleton template weight project. Select ALL the bones of the skeleton.
318 Export it with the "NelL export" utility plugin, button "export skeleton weights
319 The skeleton directory for the client is client/data/animations/skeletons.
320 The name of the swt file is the name of the max project.
322 Automatic process:
323 ------------------
325 Clean:
326 The clean process will delete build_gamedata/processes/swt/swt/*.*
328 Export: 
329 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/swt/.
330 It will select all the objects in the project an export the swt. The swt files are exported in the build folder build_gamedata/processes/swt/swt/.
331 The name of the swt files are the name of the max projects.
333 Build:
334 Does nothing
336 Install:
337 The install process will copy build_gamedata/processes/swt/swt/*.* in client/data/animations/skeletons
339 -----------------------------------------------------------------------------------------------------
341 * EXPORT AN ANIMATION
343 Manual process:
344 ---------------
346 In max, load your animation project. 
347 Select the animated objects. For the skeletons select only the root.
348 Export it with the "NeL export" utility plugin, button "export model animation".
349 The file extension must be a "*.anim".
350 The animation directory for the client is client/data/animations/anim.
352 Automatic process:
353 ------------------
355 Clean:
356 The clean process will delete build_gamedata/processes/anim/anim/*.*
358 Export:
359 The export process will open each max projects placed in the folder database/Stuff/<race>/Agents/Actors/<sexe/bot>/animation/anims/.
360 It will select the "Bip01" object in the project an export the animation. The anim files are exported in the build folder build_gamedata/processes/anim/anim/.
361 The name of the anim files are the name of the max projects.
363 Build:
364 Does nothing
366 Install:
367 The install process will copy build_gamedata/processes/anim/anim/*.* in client/data/animations/anim.
369 -----------------------------------------------------------------------------------------------------
371 * EXPORT AN INSTANCE GROUP
373 Manual process:
374 ---------------
376 Open your instance group project. For each instance gourps in your project, select all objects in the same instance group 
377 and export it with the "NeL utility" plugin, button "Export Instance Group". You can use a script like city_export.max 
378 if the export is too boring.
380 Automatic process:
381 ------------------
383 Clean:
384 Delete files in build_gamedata/processes/ig/ig.
386 Export:
387 For each max file in the database directories 
388 database/stuff/<race>/decors/constructions
389 database/landscape/zones
390 the process will open the max file and look for instance group name flaged on objets.
392 If there is some objects with instance group name flagged (city or interior)
393         For each instance group name, it select the max object and export the ig in build_gamedata/processes/ig/ig.
395 If there is no objects with instance group name flagged (zone file with vegetation)
396         The process will select all object in the project that are reference on a shape export the ig in build_gamedata/processes/ig/ig.
398 Build:
399 Does nothing
401 Install:
402 Copy the file stored in build_gamedata/processes/ig/ig in the client directory client/data/ig
404 -----------------------------------------------------------------------------------------------------
406 * EXPORT A ZONE
408 Zone building configuration file is build_gamedata/cfg/properties.cfg
410 Manual process:
411 ---------------
413 To export manually zones, open your zone projects in max, select the zones. Export it with the 
414 "NeL export" utility plugin, button "export model".
415 Save the .zone files in the build_gamedata directory build_gamedata/processes/zone/zone_exported/.
416 Then execute the build command (build_gamedata/processes/zone/3_build.bat).
417 After the build, install the zone in the client with the command 4_install (build_gamedata/processes/zone/4_install.bat).
419 Automatic process:
420 ------------------
422 Clean:
423 The clean process will delete 
424 build_gamedata/processes/zone/zone_exported/*.*
425 build_gamedata/processes/zone/zone_lighted/*.*
426 build_gamedata/processes/zone/zone_welded/*.*
427 build_gamedata/processes/zone/zone_depend/*.*
429 Export:
430 The automatic export will export zone object from max database max files in the directory database/landscape/zones.
431 The .zone files are stored in build_gamedata/processes/zone/zone_exported/. The name of the zone is the name
432 of the max object.
434 Build:
435 The build process will first build the zone dependencies (*.depend files in build_gamedata/processes/zone/zone_dependencies/).
436 Then it will generate welded zone (*.zonew files in build_gamedata/processes/zone/zone_welded/).
437 Then it will generate lighted zone (*.zonel files in build_gamedata/processes/zone/zone_lighted/).
439 Install:
440 The install process will copy build_gamedata/processes/zone/zone_lighted/*.* in client/data/zone
441         
442 -----------------------------------------------------------------------------------------------------
444 * EXPORT A SMALLBANK
446 Manual process:
447 ---------------
449 Copy your .bank in the directory build_gamedata/processes/smallbank/bank/.
450 Execute the build command (build_gamedata/processes/smallbank/3_build.bat).
451 Execute the install command (build_gamedata/processes/smallbank/3_install.bat).
453 Automatic process:
454 ------------------
456 Clean:
457 The clean process will delete 
458 build_gamedata/processes/smallbank/bank/*.*
459 build_gamedata/processes/smallbank/smallbank/*.*
461 Export:
462 Copy the bank stored in database/landscape/_texture_Tiles/bank in build_gamedata/processes/smallbank/bank/.
464 Build:
465 Convert the build_gamedata/processes/smallbank/bank/*.bank files in build_gamedata/processes/smallbank/smallbank/*.smallbank files.
467 Install
468 Copy the build_gamedata/processes/smallbank/smallbank/*.smallbank files in the client/data/bank
470 -----------------------------------------------------------------------------------------------------
472 * EXPORT A FARBANK
474 Manual process:
475 ---------------
477 Copy your .bank in the directory build_gamedata/processes/smallbank/bank/.
478 Execute the build command (build_gamedata/processes/farbank/3_build.bat).
479 Execute the install command (build_gamedata/processes/farbank/3_install.bat).
481 Automatic process:
482 ------------------
484 Clean:
485 The clean process will delete build_gamedata/processes/farbank/bank/*.*
487 Export:
488 Does nothing.
490 Build:
491 Convert the build_gamedata/processes/smallbank/bank/*.bank files in build_gamedata/processes/farbank/farbank/*.farbank files.
493 Install
494 Copy the build_gamedata/processes/farbank/farbank/*.farbank files in the client/data/bank
496 -----------------------------------------------------------------------------------------------------
498 * EXPORT A VEGETABLE SET
500 Manual process:
501 ---------------
503 Directly copy your vegetset file in the client directory client/data/vegetables.
505 Automatic process:
506 ------------------
508 Clean:
509 Clean will delete build_gamedata/processes/vegetset/vegetset/*.* file.
511 Export:
512 Copy the file from database/landscape/vegetables in build_gamedata/processes/vegetset/vegetset.
514 Build:
515 Does nothing.
517 Install:
518 Copy the file from build_gamedata/processes/vegetset/vegetset in client/data/vegetables.
520 -----------------------------------------------------------------------------------------------------
525 -----------------------------------------------------------------------------------------------------
527 **** TECHNICAL NOTES ABOUT AUTOMATIC DATA PROCESS ****
529 -----------------------------------------------------------------------------------------------------
531 * DATA PROCESS
533 The automatic data process are divided in several automatic data processes.
535 Each automatic data process must be located in a separated directory based in "build_gamedata/processes/".
536 Each automatic data process is executed in its root directory "build_gamedata/processes/my_process".
537 Each automatic must be sure to not stop the process with a messagebox or a pause.
538 Each automatic data process must have the following batch command files:
540         - build_gamedata/processes/my_process/0_setup.bat: This command must create missing local directories and update binary tools 
541         (and all others setup stuff).
544         - build_gamedata/processes/my_process/1_clear.bat: This command must delete all the temporary exported / builded files. Don't delete
545         the installed client files.
548         - build_gamedata/processes/my_process/2_export.bat: This command must export the data from the database into a local directory.
550                 * After the export process the log file "build_gamedata/processes/my_process/log.log" must exist.
552                 * The log file must begin by the following lines:
553 -------
554 --- Export my_process
555 -------
557                 * A file must be exported only if the target file (previous temporary exported file) is not existing or it is not up to date. 
559                 * If the file is not exported because it is up to date, the export process should log in the log file an entry prefixed by "SKIPPED "
560                 and followed by the name of the skipped target: "SKIPPED build_gamedata/processes/my_process/tmp_exported/skippedfile.ext".
562                 * All errors during export should be, if possible, loged in the log file prefixed by the word "ERROR ".
564                 * All sucessful export should be log in the log file prefixed bt the word "OK ".
566                 * All others warning and error information are welcome in the log file.
568                 * The export process must use "build_gamedata/the config.cfg" file to get the database or 3dsmax directories.
571         - build_gamedata/processes/my_process/3_build.bat: This command is executed after the export process. It must perform some build stuff on the
572                 temporary exported data.
574                 * After the build process the log file "build_gamedata/processes/my_process/log.log" must exist.
576                 * The log file must begin by the following lines:
577 -------
578 --- Build my_process
579 -------
581                 * A file must be builded only if the target file (previous temporary builded file) is not existing or it is not up to date.
583                 * If the file is not builded because it is up to date, the build process should log in the log file an entry prefixed by "SKIPPED "
584                 and followed by the name of the skipped target: "SKIPPED build_gamedata/processes/my_process/tmp_builded/skippedfile.ext".
586                 * All errors during build should be, if possible, loged in the log file prefixed by the word "ERROR ".
588                 * All sucessful build should be log in the log file prefixed bt the word "OK "
590                 * All others warning and error information are welcome in the log file.
593         - build_gamedata/processes/my_process/4_install.bat: This command will install exported / builded files in the client directory.
595                 * This command assume that the client data directory tree is builded.
597                 * After the install process the log file "build_gamedata/processes/my_process/log.log" must exist.
599                 * The log file must begin by the following lines:
600 -------
601 --- Install my_process
602 -------
604                 * A file must be install only if the target file (previous installed file) is not existing or it is not up to date.
606                 * If the file is not installed because it is up to date, the install process should log in the log file an entry prefixed by "SKIPPED "
607                 and followed by the name of the skipped target: "SKIPPED client/data/.../skippedfile.ext".
609                 * All errors during install should be, if possible, loged in the log file prefixed by the word "ERROR ".
611                 * All sucessful install should be log in the log file prefixed bt the word "OK "
613                 * All others warning and error information are welcome in the log file.
615 -----------------------------------------------------------------------------------------------------